Client/Server Application Design

Today's complex DBMS applications demand data coherence between the client and server levels. S-Designor delivers by integrating client/server design and development:

Server Level Design

Client Level Design

Server Level Design

To ensure a coherent client/server application, server data integrity must be strictly enforced. With S-Designor, you can define all areas of server data integrity through referential integrity (constrains a logical link between tables), column constraints (basic constraints applied only to columns) and user-defined business rules (any other constraints applied to any database element).

Referential Integrity

Referential integrity is described in the data model for each reference between tables and fixes the behavior of these links. The referential integrity constraints control insertions, deletions and updates within a parent table and can be implemented either in the database's "create table" order (through primary and foreign key constraints) or through triggers in S-Designor's trigger editor.

Column Constraints

Column constraints are the basic integrity controls: minimum, maximum and default values; format; list of values; etc. As they are commonly used, S-Designor allows you to describe them quickly and easily with the column definition as "check parameters". They are generated in the "create table" order as a column constraint clause.

User-Defined Business Rules

You may wish to define a more complex column constraint or a constraint between two columns. Those columns may be within the same table or even in different tables. For each client or server modeling object, user-defined business rules offer the flexibility to define any imaginable constraint.

The user-defined business rule is first defined in a logical sentence during the conceptual design, along with a semi-programmatic description applied to the client or the server. These expressions migrate to the physical design level. There, the designer adds specific code for the appropriate client or server which can be integrated into triggers or stored procedures with S-Designor's trigger editor.

Complete Data Integrity Management

At each step, S-Designor lets you manage all constraints with easy-to-use pop-up editors. Plus, it can all be documented in S-Designor's customizable analysis reports. By allowing easy definition and implementation of any constraint on any element of your application, S-Designor empowers you to guarantee complete data integrity.

Client Level Design

Extended Attributes

Since the graphical user interface is a critical component in the design of client/server applications, S-Designor's physical data models can be enriched with extended attributes - information (user-defined or default) specific to your 4GL development tool.

Complementary to the definition of each physical data model object (table, column, reference, etc.), these extended attributes allow you to define the screen layout, all format specifications (field type, alignment, font type and size, background color, text color, etc.), validation rules and error messages. Since design and development is integrated, you can easily edit columns and their associated extended attributes at the same time.

Bridge with 4GL Tools

To speed application development for client workstations, S-Designor offers a powerful bridge to the major 4GL tools. At the end of the design stage, S-Designor can transfer both the database structure and the extended attributes directly into your 4GL tool dictionary, allowing quick movement from the design to your client/server application development. The exported data includes all the structure information for the tables (columns, indexes, etc.), column constraints (maximum, minimum and default values; format; list of values; etc.), referential integrity constraints and extended attributes. Creating applications quickly with complete server data integrity has never been easier. At the touch of a button, S-Designor automatically generates default screens for 4GL development tools (PowerBuilder and SQLWindows). Together, these elements let you bridge the gap between development and design, resulting in efficient client/server application generation.